package com.xinshujia.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xinshujia.dto.DeviceDescDTO;
import com.xinshujia.entity.DeviceEntity;

/**
 * *************************************
 * *   @author: 野狼上校               **
 * *   @since: 2024-07-19 17:36       **
 * *   @version: 1.0                  **
 * *************************************
 * <p>
 *     设备服务接口
 */
public interface DeviceService extends IService<DeviceEntity> {

    /**
     * 分页查询
     */
    Page<DeviceEntity> findAllByPage(Long pageNum, Long pageSize, String companyName);

    /**
     * 添加设备
     */
    boolean insertDevice(DeviceEntity deviceEntity);

    /**
     * 根据设备GUID查询设备
     */
    DeviceEntity findDeviceByDeviceGuid(String deviceGuid);

    /**
     * 根据Id更新设备
     */
    boolean updateDeviceById(DeviceEntity deviceEntity);

    /**
     * 根据DeviceId查询设备详情
     */
    DeviceDescDTO getDeviceDescByDeviceGuid(String deviceGuid);

    /**
     * 更新设备预警状态
     */
    void updateDeviceAlarmStatus(String deviceGuid, int operateType);
}
